/**
 * @description 从给定查询字符串或 URL 生成一个对象。
 * @param {*} url 
 * @returns 
 */
const queryStringToObject = url =>
  // 使用 String.prototype.split() 从 url 分割参数为数组
  // 创建 URLSearchParams() 创建一个适当的对象，并使用 ... 将其转换为键值对数组。
  [...new URLSearchParams(url.split('?')[1])].reduce(
    // 使用 Array.prototype.reduce() 将键值对数组转换为对象。
    (a, [k, v]) => ((a[k] = v), a),
    {}
  );

// Examples
queryStringToObject('https://google.com?page=1&count=10');
// {page: '1', count: '10'}
